<!DOCTYPE html>
<html lang="it">
	<head>
		<meta charset="utf-8" />
		<base href="../../../" />
		<script src="page.js"></script>
		<link type="text/css" rel="stylesheet" href="page.css" />
	</head>
	<body>
		[page:Material] &rarr;

		<h1>[name]</h1>

		<p class="desc">Un materiale che mappa i vettori normale sui colori RGB.</p>

		<iframe id="scene" src="scenes/material-browser.html#MeshNormalMaterial"></iframe>

		<script>

		// iOS iframe auto-resize workaround

		if ( /(iPad|iPhone|iPod)/g.test( navigator.userAgent ) ) {

			const scene = document.getElementById( 'scene' );

			scene.style.width = getComputedStyle( scene ).width;
			scene.style.height = getComputedStyle( scene ).height;
			scene.setAttribute( 'scrolling', 'no' );

		}

		</script>

		<h2>Costruttore</h2>

		<h3>[name]( [param:Object parameters] )</h3>
		<p>
			[page:Object parameters] - (opzionale) un oggetto con una o più proprietà che definiscono l'aspetto del materiale.
			Qualsiasi proprietà del materiale (inclusa qualsiasi proprietà ereditata da [page:Material]) può essere passata qui. <br /><br />
		</p>


		<h2>Proprietà</h2>
		<p>Vedi la classe base [page:Material] per le proprietà comuni.</p>

		<h3>[property:Texture bumpMap]</h3>
		<p>
			La texture per creare una mappa di rilievo. I valori nero e bianco si associano alla profondità percepita in relazione
			alle luci. Bump in realtà non influisce sulla geometria dell'oggetto, solo sull'illuminazione. Se viene definita una mappa
			normale questa verrà ignorata.
		</p>

		<h3>[property:Float bumpScale]</h3>
		<p>Quanto la mappa di rilievo influisce sul materiale. Gli intervalli tipici sono 0-1. Il valore predefinito è 1.</p>

		<h3>[property:Texture displacementMap]</h3>
		<p>
			La mappa di spostamento influisce sulla posizione dei vertici della mesh.
			A differenza di altre mappe che influenzano solo la luce e l'ombra del materiale, i vertici 
			spostati possono proiettare ombre, bloccare altri oggetti, e altrimenti agire come una vera
			geometria. La texture di spostamento è un'immagine in cui il valore di ciascun pixel (il bianco è 
			il più alto) viene mappato e riposizionato rispetto ai vertici della mesh.
		</p>

		<h3>[property:Float displacementScale]</h3>
		<p>
			Quando la mappa di spostamento influenza la mesh (dove il nero non è lo spostamento,
			e il bianco è lo spostamento massimo). Senza una mappa di spostamento impostata, questo valore
			non viene applicato.
			Il valore predefinito è 1.
		</p>

		<h3>[property:Float displacementBias]</h3>
		<p>
			L'offset dei valori della mappa di spostamento sui vertici della mesh.
			Senza una mappa di spostamento impostata, questo valore
			non viene applicato. Il valore predefinito è 0.
		</p>

		<h3>[property:Boolean flatShading]</h3>
		<p>
			Definisce se il materiale viene renderizzato con un'ombreggiatura piatta. Il valore predefinito è `false`.
		</p>

		<h3>[property:Boolean fog]</h3>
		<p>Indica se il materiale è influenzato dalla nebbia. Il valore predefinito è `false`.</p>

		<h3>[property:Texture normalMap]</h3>
		<p>
			La texture per creare una mappa normale. I valori RGB influenzano la normale della superficie per ogni frammento di pixel 
			e cambiano il modo in cui il colore è illuminato. Le mappe normali non modificano la figura effettiva della superficie,
			ma solo l'illuminazione. Nel caso in cui il materiale abbia una mappa normale creata utilizzando la convezione della mano
			sinistra, la componente y di normalScale deve essere negata per compensare la diversa mano.
		</p>

		<h3>[property:Integer normalMapType]</h3>
		<p>
			Il tipo di mappa normale.<br /><br />

			Le opzioni sono [page:constant THREE.TangentSpaceNormalMap] (impostazione predefinita), e [page:constant THREE.ObjectSpaceNormalMap].
		</p>

		<h3>[property:Vector2 normalScale]</h3>
		<p>
			Quanto la mappa normale influenza il materiale. Gli intervalli tipici sono 0-1.
			Il valore predefinito è un [page:Vector2] impostato a (1,1).
		</p>

		<h3>[property:Boolean wireframe]</h3>
		<p>
			Rendering della geometria come wireframe. Il valore predefinito è `false` (cioè renderizzazione come poligoni piatti).</p>
		</p>

		<h3>[property:Float wireframeLinewidth]</h3>
		<p>Controlla lo spessore del wireframe. Il valore predefinito è `1`.<br /><br />

			A causa delle limitazioni del [link:https://www.khronos.org/registry/OpenGL/specs/gl/glspec46.core.pdf profilo OpenGL Core] 
			con il renderer [page:WebGLRenderer WebGL] sulla maggior parte delle piattaforme, 
			la larghezza di riga sarà sempre 1 indipendentemente dal valore impostato.
		</p>

		<h2>Metodi</h2>
		<p>Vedi la classe base [page:Material] per i metodi comuni.</p>


		<h2>Source</h2>

		<p>
			[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
		</p>
	</body>
</html>
